home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / inet / ien / ien-200 < prev    next >
Text File  |  1988-12-01  |  20KB  |  324 lines

  1.  
  2.  
  3.  
  4. Internet Experiment Note No. 200
  5.  
  6.                    INTERNET PROJECT RESEARCH PLANNING REPORT
  7.                                 David D. Clark
  8.                       MIT Laboratory for Computer Science
  9.                    Computer Systems and Communications Group
  10.  
  11.  
  12. 1.   Introduction
  13.   This  paper  represents a first attempt to provide a structure to the current
  14. and planned activities in the Internet project.  It is  particularly  concerned
  15. with  the evolution of the protocol architecture, and the identification of new
  16. functions which the protocol is to support. It attempts to identify  the  basic
  17. decisions which must be made as part of the planning process.
  18.  
  19.     -N.B.:   This document is a draft.  It is distributed at this time for
  20.      comment and discussion only.  Anyone using this document as  a  basis
  21.      for project planning at this stage is extremely misguided.
  22.  
  23.     -The changes and extensions described here are not intended to have an
  24.      impact  on  current  host  implementations  of TCP and IP, except for
  25.      hosts specifically involved in future  research  and  demonstrations.
  26.      Implementors  only  involved in realizing the currently defined level
  27.      of service need not be concerned with this report.
  28.  
  29.   The Internet project has reached a point where it must provide a  stable  and
  30. usable service to its users.  This is a painful but crucial stage in any system
  31. project  which  hopes to prove its point in the real world.  Thus, our planning
  32. must now take into account two requirements, first that we provide a functional
  33. service, and second that we  develop  and  integrate  new  functions  into  the
  34. existing  architecture.    There  are several reasons why new functions must be
  35. added to the existing  architecture.    First,  there  are  additional  service
  36. requirements,  which  are  not  currently  supported but which will be required
  37. before the service meet  the  currently  forseen  needs.    Second,  there  are
  38. explicit  research  goals  which  have  been  established for the project, with
  39. announced demonstration dates.  Third,  there  are  additional  research  goals
  40. which  are  of  interest  to  the  participants  in  the project, and which are
  41. generally perceived as being  appropriate  and  compatible  with  the  internet
  42. philosophy.    This  last  collection  of topics can easily grow without bound,
  43.                                        2
  44.  
  45. leading  to a project so large as to be intractible.  One of the first planning
  46. issues to be addressed is precisely what problems we choose to  solve  in  this
  47. next research cycle, and what problems we choose to ignore.
  48.  
  49. 2.  Possible Research Topics
  50.   The  following list catalogues a number of areas in which future evolution of
  51. the architecture has been proposed.  The comments provided  with  each  section
  52. attempt  to give some idea of the amount of thought which has already gone into
  53. this topic, and the range of options available for approaching each topic.
  54.  
  55.  
  56.  
  57. 2.1.  Types of Transport Services:
  58.   The issue here is what sort of services will  the  transport  layers  of  the
  59. architecture  provide  to  the applications above.  Currently, TCP provides the
  60. only wide-spread service, a bidirectional, reliable data stream.  It is unclear
  61. whether TCP is the most  suitable  protocol  for  high  bandwidth,  high  delay
  62. occasions, such as bulk transfer of data, and it is certainly clear that TCP is
  63. inappropriate  for  speech  and  other  low  delay, loss-tolerant applications.
  64. Other functions which might be useful include multicast rather  than  point-to-
  65. point  data  transmission.    Speech  is  a  clearly  defined goal for internet
  66. support, but  it  is  currently  being  supported  only  outside  the  internet
  67. architecture,  using alternative protocols.  To provide serious speech support,
  68. IP may have to be evolved to provide the necessary support.
  69.  
  70.   Other services such as bulk, high bandwidth transfer  and  multi-casting  are
  71. not  specifically  required  for  demonstration  or  service.   Thus, it may be
  72. possible to ignore these issues.  On  the  other  hand,  it  is  reasonable  to
  73. consider  exploring  these  topics  because  it  is  probable  that they can be
  74. examined somewhat in  isolation,  without  a  global  upheaval  to  the  entire
  75. architecture.
  76.  
  77.  
  78.  
  79. 2.2.  Addressing and Routing:
  80.   As  we  proceed from an assumption of an internet with 50 nets to an internet
  81. with 1,000 nets, substantial upheavals will occur in the architecture  and  its
  82. implementations.   The simple routing algorithm of sending to every gateway the
  83. location of every net, would require exchanging tables with 1,000 entries,  and
  84. not  only would this cause an overflow of limited gateway storage space, but it
  85. would also use up a substantial part of the network  bandwidth  if  the  system
  86. were  at  all  responsive.   Currently, the internet has a vaguely hierarchical
  87. structure, in which at the top there are nets  and  beneath  this  level  is  a
  88. substructure  which  is understood only by the net itself.  Presumably, it will
  89.                                        3
  90.  
  91. be  necessary  to  generalize this structure by grouping nets into areas, which
  92. physically encompass several nets.  However, this idea of areas is  counter  to
  93. an  original  internet  goal,  which  is  that  individual  networks  should be
  94. connectable together in any configuration, with  all  possible  physical  paths
  95. being  used as realizable routes through the internet.  If there is a structure
  96. to the net, than only routes that conform to the structure will be realizable.
  97.  
  98.   I feel that a restriction of this sort on the internet is  quite  reasonable.
  99. An  obvious  structure  for  the internet is to imagine that there is a central
  100. cluster of nets which provide the  function  of  long-haul  transport.    These
  101. transport  nets  would  have  connected  to  them additional sets of nets which
  102. provide an access function to the internet.  Typical transport  nets  would  be
  103. the  ARPANET  and  SATNET:    typical  access nets would be local area nets and
  104. packet radio.  The implication of this structure would be  that  the  transport
  105. nets would never rely on the access nets for transport function.
  106.  
  107.   An  additional  complication  of  routing is the TYPE OF SERVICE field of IP.
  108. The TOS field is  presumably  used  to  affect  the  service  provided  by  the
  109. individual nets:  however, it also should serve the function of selecting among
  110. routes  at  the internet level. Currently, this function is completely missing.
  111. Adding it can only make the routing problem much more complicated.
  112.  
  113.  
  114.  
  115. 2.3.  Flow and Congestion Control:
  116.   Currently, the internet has a simple mechanism for  congestion  control,  the
  117. Source  Quench Packet, which can variously be viewed as a choke packet or as an
  118. advisory overload packet.  There is no evidence that this mechanism works  very
  119. well;  indeed  there are substantial indications that it probably does not.  As
  120. load builds up in the internet, and especially as  we  hook  together  networks
  121. whose  basic  speeds  differ  by  orders  of magnitude, it will be necessary to
  122. identify and implement a workable congestion mechanism.
  123.  
  124.   One decision currently undecided about the internet architecture  is  whether
  125. the  congestion  mechanism  should  include the concept of "enforcement".  Most
  126. congestion mechanisms push back on their data sources in a manner that  is  not
  127. advisory,  but  mandatory.    For  example,  networks selectively drop packets,
  128. disable communication, or simply refuse certain inputs.  The  internet  can  do
  129. none  of  these.  If an input host ignores the congestion information currently
  130. offered, the increased degradation  caused  by  this  is  not  focused  on  the
  131. offending  host, but is randomly distributed on all the traffic in the affected
  132. area.  It would seem that some mechanism for enforcement would be  appropriate.
  133. However,  enforcement  is very difficult, given one of the basic assumptions of
  134. the architecture, which is that the gateways have no state.  Without state,  it
  135.                                        4
  136.  
  137. is  impossible  to  keep  track of whichthe offending host is so that it can be
  138. discriminated against.  I feel that an important idea in this respect  is  that
  139. of "soft state", in which the gateways attempt to build up a model of the world
  140. by  observing  the traffic passing through them.  If they should crash and lose
  141. this state information, no transport services is disrupted, but as long as  the
  142. information exists, it permits the gateway to discard selectively those packets
  143. which  appear  to be violating the congestion control restrictions currently in
  144. effect.
  145.  
  146.  
  147.  
  148. 2.4.  Distributed Control:
  149.   An important question about the internet is the extent to which its ownership
  150. and management is decentralized.  It was originally a design goal that  various
  151. gateways  would  be  implemented by different organizations, and the individual
  152. networks out of which the internet is  built  were  certainly  expected  to  be
  153. managed  by separate organizations.  Realistically, decentralized management is
  154. an important goal in the long term.  However, it clearly makes development  and
  155. operation  much  more  difficult.    Currently,  essentially all of the central
  156. gateways as well as the important transport nets are all operated by  BBN.    A
  157. specific  decision is required as to whether this situation is to be exploited,
  158. in order to simplify the next round of implementations, or whether  distributed
  159. operation  is  to  be  deliberately  injected  into the system as an additional
  160. research goal.
  161.  
  162.   A problem closely related to this is the  interaction  between  the  existing
  163. service  internet  and  some evolved internet being used as a testbed for these
  164. advanced topics.  It will, at a minimum, be necessary to construct some sort of
  165. firewall between the experimental environment and the service  environment,  so
  166. that they can interact without destroying each other.
  167.  
  168.  
  169.  
  170. 2.5.  Partitioned Networks
  171.   This  is  a critical research goal, because it has been explicitly identified
  172. for  demonstration  in  the  two  to  three  year  timeframe.    The   specific
  173. demonstration  involves  attaching  high  power packet radios to the ARPANET at
  174. appropriate locations, providing airborne  packet  radios  which  are  able  to
  175. communicate  with these ground based radios, and then severing the landlines in
  176. the ARPANET and using the packet radios to reconstitute ARPANET service.
  177.  
  178.   There are two ways to approach this problem: at the network level or  at  the
  179. internetwork  level.   The network level solution, in which the imps are taught
  180. about the existence of the packet radio links, is clearly the  simpler  of  the
  181.                                        5
  182.  
  183. two.    Among  other  things, it requires no modification of the host software.
  184. The internetwork solution, in which knowledge of  the  packet  radio  links  is
  185. restricted  to  the hosts and the gateways, is a more challenging solution, but
  186. one which is more in line with the original  goals  of  the  current  cycle  of
  187. research.   I propose that the problem be solved at the internetwork level, but
  188. this requires an upgrade in the sophistication of the host  routing  algorithm,
  189. so  that  failures  to communicate with the host apparently located on the same
  190. network trigger the kind of internet rerouting which would normally be  invoked
  191. only for a pathway known to pass through intermediate gateways.
  192.  
  193.   There  are  other  problems  that  resemble  net  partition.  The "expressway
  194. routing" concept is that a host or gateway  may  select  an  internet  path  to
  195. bypass  a  network, even when the net is fully functional.  This sort of action
  196. would require that the mechanisms designed to support partition be  used  under
  197. normal operations, not just under crisis conditions.
  198.  
  199.  
  200.  
  201. 2.6.  Improved Effectiveness:
  202.   This  somewhat  vague  title covers a number of important topics.  Currently,
  203. the TCP specification describes logically correct operations,  but  makes  only
  204. limited reference to efficient operation.  Issues such as window management and
  205. the  timing  of  acknowledgements  are left as an exercise for the implementor.
  206. Bad design decisions in this area lead to the symptoms sometimes referred to as
  207. Silly Window Syndrome.  It is important that the specification be  expanded  to
  208. include sufficient information to prevent this sort of inappropriate operation.
  209. An  area  in which this will become immediately visible is in the use of public
  210. data networks to carry internet packets.  Most  tariffs  for  public  nets  are
  211. based  on  the  number of packets, and the window algorithms and acknowledgment
  212. generation algorithms strongly influence the number of packets required to send
  213. a given amount of data.  There will be a pressing cost requirement to eliminate
  214. inappropriate implementations.  Even where cost is not measured in dollars, the
  215. perceived effectiveness of these protocols is an important component  of  their
  216. acceptability to potential users.
  217.  
  218.  
  219.  
  220. 2.7.  Access Control:
  221.   Plans  are  already  underway in the short term to provide some controls over
  222. who can use the internet, in particular by the addition  of  passwords  to  the
  223. TAC.  However, in the long run, much more must be done.  The current protection
  224. strategy  is  based  on  the  assumption that individual hosts are sufficiently
  225. responsible to restrain their users.  As long  as  we  have  large  time-shared
  226. computers,  this assumption is still somewhat workable.  However, we are moving
  227.                                        6
  228.  
  229. as  rapidly as possible away from this position to a position in which personal
  230. computers are allocated to  individual  users,  which  provides  no  management
  231. strategy  to  ensure  that  the  individual  users  of these computers, who are
  232. presumably attached to local nets over which  no  access  control  is  imposed,
  233. refrain  from  going through these local nets to reach long haul nets whose use
  234. is limited.  The most extreme example of this currently in the internet are the
  235. personal computers belonging to students at universities such  as  M.I.T.    As
  236. part  of M.I.T.'s policy toward its local net, these students are being invited
  237. to attach to the local net as rapidly as possible.  However, the local  net  is
  238. attached  to  the  ARPANET,  and  there is no mechanism which can prevent these
  239. students form utilizing the ARPANET from their personal computers.  Clearly, it
  240. is ridiculous to expect the students to voluntarily refrain.  The only possible
  241. mechanism is an access control algorithm in the gateway.    But  by  the  basic
  242. architectural  assumptions  of  internet, this is almost impossible to provide,
  243. because the gateway lacks the information to  discriminate  between  legitimate
  244. and  undesirable  users.  The only information available to the gateway are the
  245. original and destination addresses, but short of a  complete  list  enumerating
  246. all  of the used addresses at M.I.T., which might potentially be very long, the
  247. address is not a sufficient indicator of validity.  A  decision  must  be  made
  248. whether  or  not this problem is to be solved.  If it is, some substantial work
  249. will be required.
  250.  
  251.   Access control and routing interact in an important way in the gateway.   The
  252. access  decision is not a simple yes/no control, but a selection of route based
  253. on privilege.  For some nets, it will also  be  necessary  to  collect  billing
  254. information,  which requires the same sort of unforgable identification as does
  255. access control.
  256.  
  257.  
  258.  
  259. 2.8.  Performance Evaluation:
  260.   There are currently  a  number  of  activities  under  way  to  evaluate  the
  261. performance  of  the  internet.    Some  of  these  are  being  done as part of
  262. operational management of the internet.  Others are being done by various users
  263. of the internet from their particular vantage point  to  evaluate  the  service
  264. made  available to them.  These projects are not especially well coordinated at
  265. the moment, and the results they gather are not being used in other than a very
  266. general sense to evaluate and identify problems with the internet.   Currently,
  267. it  is difficult to improve the quality of the measurements being made, because
  268. there is not space available in  the  gateways  to  improve  the  metering  and
  269. instrumentation which is installed there.  A new version of the gateway code is
  270. now being developed by BBN which will have more space for new code.
  271.  
  272.   At a more philosophical level, we lack even a metric against which to compare
  273.                                        7
  274.  
  275. our  work.    What constitutes a "good" internet?  Superficially, one thinks of
  276. things like  low  delay,  high  bandwidth,  and  reliability.    But  actually,
  277. depending on the class of service being used, these individual goals may or may
  278. not  be  desirable.    In  fact,  a good internet is probably one which has the
  279. flexibility to conform to a variety of  offered  loads,  rather  than  doing  a
  280. superb job of meeting exactly one application class.  In the long run, it would
  281. be  worthwhile  trying  to identify what goal we are attempting to meet, before
  282. rather than after we meet it.
  283.  
  284. 3.  Discussion
  285.   As the preceding list suggests, it is possible to put together a wish list of
  286. internet features which is unworkably large.  One of the first problems we must
  287. face is doing some delicate but effective pruning upon this list to bring it to
  288. a managable size.  Having done this, it will be necessary to make  some  rather
  289. difficult decisions about the general structure into which our future solutions
  290. must  fit.  The above list raises some very important questions about the shape
  291. of the internet.  For example, the partitioning question  most  clearly  raises
  292. the  issue  of  whether  or not hosts connected to each other over a single net
  293. view themselves as being connected to a network or to an internet.  It is silly
  294. to proceed until we have an answer to  that  question.    Two  other  important
  295. questions  are  the  extent  to  which  constraints are imposed on the workable
  296. topologies of the internet, and the extent to which the internet is assumed  to
  297. be owned and operated by one or many organizations.
  298.  
  299.   The  short  time  schedule  for  the  announced  demonstrations  require that
  300. progress on this list of functions  be  fairly  rapid.    The  need  for  quick
  301. progress  suggests  two conclusions to me.  We will not achieve our goals if we
  302. attempt to get there by a series of small incremental steps from where  we  are
  303. now.  Many of the functional requirements listed above interact with each other
  304. in  a  very  strong  way,  and  it  will  be  necessary  to  take  all of these
  305. requirements into account as we  do  a  design  for  the  final  service.    An
  306. incremental approach will only trick us into thinking that we could ignore some
  307. of  these issues and attack others first.  I believe that will not work in this
  308. case.  We must attempt to stabilize the service we have now and then live  with
  309. that  service  for  some  time,  perhaps  a  year or more, during which time we
  310. develop the followup, which will ultimately  be  used  for  the  demonstrations
  311. scheduled  in the two to three year time frame.  Given this conclusion, it then
  312. follows we should attempt to minimize those functions  which  we  advertise  as
  313. part  of the current service we are attempting to stabilize, because any effort
  314. investigated in expanding the current service is effort which is diverted  from
  315. the long-term design problem.
  316.                                        8
  317.  
  318. 4.  Milestones
  319.   It  is  my  hope that a working version of this document will be produced not
  320. later than the meeting of the  ICCB  in  January.    Anyone  with  comments  is
  321. requested to send them to DClark at MIT-Multics before that time.
  322.  
  323. -------
  324.